ubuntu docker安装及使用/打包ROS环境及程序 您所在的位置:网站首页 phpstorm docker环境 ubuntu docker安装及使用/打包ROS环境及程序

ubuntu docker安装及使用/打包ROS环境及程序

2023-05-14 23:21| 来源: 网络整理| 查看: 265

1、docker安装

一键安装指令:

wget http://fishros.com/install -O fishros && . fishros

参考:https://fishros.com/#/fish_home

查看当前安装版本:$ docker -v

安装完成Docker后,默认已经启动了docker服务。

# 启动docker

$ sudo service docker start

# 重启docker

$ sudo service docker restart

# 停⽌docker

$ sudo service docker stop

2、查看运行的容器/查看本机已用的容器/查看容器ID及状态:

sudo docker ps -a

查看镜像列表:sudo docker images

* REPOSITORY:镜像所在的仓库名称

* TAG:镜像标签

* IMAGEID:镜像ID

* CREATED:镜像的创建⽇期(不是获取该镜像的⽇期)

* SIZE:镜像⼤⼩

3、进入容器:

sudo docker exec -it 350367a9ea52 /bin/bash

或者sudo docker exec -it 3503 bash

 

ctrl+d快捷键退出容器

  

若显示容器没有运行,则输入以下步骤启动该容器再进入,如下图:

xhost +

docker restart 3503

docker进入容器4、拉取别人做好的镜像

1)在线网站拉取ros镜像

https://hub.docker.com/_/ros/tags

如:sudo docker pull ros:noetic-ros-base-buster

2)将打包好的镜像拷贝到新机器上面,执行load命令解压

docker load < tar包名称.tar  #执行命令

 

进入容器后,转到程序文件夹下:cd 【文件夹地址】

执行启动命令:./【可执行程序】。

5、缺点

如果要测试数据,数据还需要另外从本机拷贝到容器中再运行。

备注:1、拷贝文件:传文件进docker指定路径

1.1 执行下面命令上传文件到容器中的镜像的指定位置

docker cp /路径/文件名 容器ID:/上传路径

1.2 从docker传文件到实体机

如需将docker中的文件传输到实体机上,我们只需要将之前的cp命令方向反过来

docker cp 容器ID:/上传路径 /路径/文件名

2、导出镜像保存:save命令导出镜像(如下图)

2.1 第一步:将正在运行的docker容器打包成image镜像

docker commit 0a3b26324050[容器ID]liaomldocker/vta_mysql:1.0 [名称:版本号]

如:sudo docker commit 350367a9ea52 slamassistantcpp:1.0

2.2 第二步:把刚刚打包好的镜像保存成 tar 文件

docker save 镜像名:版本号 -o /路径/保存的包名.tar

如:sudo docker save slamassistantcpp:1.0 -o /home/wch/slamassistantcpp.tar

 

save命令导出镜像保存

2.3 第三步:给当前操作放行

Permission denied错误是因为当前的文件夹的操作权限是系统管理员,当前用户的权限不足,所以操作不了,提示的错误也就是权限不足,将该文件夹对所有用户都开放就可以了。

执行以下命令(如图):

sudo chmod -R 777 /soft

-R 是指级联应用到目录里的所有子目录和文件

777 是所有用户都拥有最高权限

/soft 是需要放行的文件夹

给文件释放权限

3、测试ros环境:

进入容器,打开roscore。

 

若ros已安装,进入docker容器之后,找不到ros相关命令,则需要临时添加source /opt/ros/noetic/setup.bash (noetic对应自己的版本号)。添加好之后,就可以在容器命令行中使用ros命令了。如下图:

容器中运行roscore测试环境

在容器中运行自己的程序,跟在自己电脑上指令一样,到这里相当于是一个新的电脑虚拟机。如图运行打开liosam程序。

运行liosam

4、常用命令

1)添加环境变量

export PATH=$PATH:/slamdata/livox_ros_driver-maste/devel/setup.bash

2)删除文件

rm -rf  [文件名称]

如:rm -rf CMakeLists.txt

参考:

1)Ubuntu20.04安装Docker:https://blog.csdn.net/m0_68744965/article/details/129147628

2)Ubuntu 22.04中安装docker及ROS镜像,以及在docker中运行rviz:

https://blog.csdn.net/HappniessWord/article/details/125612955

3)【Docker】:https://blog.csdn.net/xuxuxux123/article/details/127162773

4)Docker容器不识别宋体等字体的解决方案:https://www.yingsoo.com/news/servers/41773.html

如:docker cp /usr/share/fonts 350367a9ea52:/usr/share/fonts/  

(新手上路,批评指正~)



【本文地址】

公司简介

联系我们

今日新闻

    推荐新闻

    专题文章
      CopyRight 2018-2019 实验室设备网 版权所有